package com.atguigu.tingshu.album.service;

import com.atguigu.tingshu.model.album.AlbumInfo;
import com.atguigu.tingshu.query.album.AlbumInfoQuery;
import com.atguigu.tingshu.vo.album.AlbumListVo;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

public interface AlbumInfoService extends IService<AlbumInfo> {


    //保存专辑
    void saveAlbumInfo(Long userId,AlbumInfo albumInfo);

    /**
     * 保存专辑统计信息
     * @param albumId 专辑ID
     * @param statType 统计类型
     * @param statNum 统计数值 0401-播放量 0402-订阅量 0403-购买量 0403-评论数'
     */
    void saveAlbumInfoStat(Long albumId, String statType, int statNum);



    //查看当前用户专辑分页列表
    Page<AlbumListVo> getUserAlbumPage(Page<AlbumListVo> pageInfo, Long userId, AlbumInfoQuery albumInfoQuery);


    //根据专辑ID删除专辑
    void removeAlbumInfo(Long id);

    //根据专辑ID查询专辑信息(包括专辑标签列表)
    AlbumInfo getAlbumInfo(Long id);


    //修改专辑
    void updateAlbumInfo(AlbumInfo albumInfo);
}
